//package com.xspace.android.imcommon.service;
//
//import android.content.Context;
//import android.content.Intent;
//import android.net.ConnectivityManager;
//import android.net.NetworkInfo;
//
//import com.xspace.android.imcommon.utils.WakeLockManager;
//import com.xspace.android.xafcommon.util.LogUtils;
//import com.xspace.android.xafcommon.util.StringUtils;
//
//public class ServiceStateThread extends Object implements Runnable {
//	private volatile boolean stopRequested;
//	private Thread runThread;
//
//	private ClientService mClientService;
//	private XMPPConnectionMg mXMPPConnectionMg;
//
//	public ServiceStateThread(ClientService mClientService,
//			XMPPConnectionMg mXMPPConnectionMg) {
//		this.mXMPPConnectionMg = mXMPPConnectionMg;
//		this.mClientService = mClientService;
//	}
//
//	public void startRequest() {
//		Thread t = new Thread(this);
//		t.start();
//	}
//
//	public void stopRequest() {
//		stopRequested = true;
//		if (runThread != null) {
//			runThread.interrupt();
//		}
//	}
//
//	@Override
//	public void run() {
//		runThread = Thread.currentThread();
//		stopRequested = false;
//
//		try {
//			Thread.sleep(10000);
//		} catch (InterruptedException e) {
//			e.printStackTrace();
//		}
//		WakeLockManager.acquireWakeLock(mClientService);
//
//		while (!stopRequested) {
//			try {
//				Thread.sleep(1000 * 60);
//			} catch (InterruptedException e) {
//				e.printStackTrace();
//			}
//			if (stopRequested) {
//				return;
//			}
//			if (!detect()) {
//				LogUtils.d("ClientService*************网络部可用*************");
//				continue;
//			}
//			if (mXMPPConnectionMg != null && mXMPPConnectionMg.isConnected()) {
//				LogUtils.d("ClientService*************不用重连*************");
//				continue;
//			}
//			if (mXMPPConnectionMg != null
//					&& !StringUtils.isNull(mXMPPConnectionMg.getUserName())) {
//				LogUtils.d("ClientService*************重连*************");
//				mClientService.startService(new Intent(mClientService,
//						ClientService.class));
//			}
//		}
//	}
//
//	public boolean detect() {
//
//		ConnectivityManager manager = (ConnectivityManager) mClientService
//				.getApplicationContext().getSystemService(
//						Context.CONNECTIVITY_SERVICE);
//
//		if (manager == null) {
//			return false;
//		}
//
//		NetworkInfo networkinfo = manager.getActiveNetworkInfo();
//
//		if (networkinfo == null || !networkinfo.isAvailable()) {
//			return false;
//		}
//
//		return true;
//	}
//}
